Different types of systems can be used to demonstrate, manage, train, and test software products. However, as software products continue to meet and exceed customer feature demands, software and product lines continue to grow larger and more complex, thereby creating numerous issues. These issues have manifested themselves in many different software-related areas. As a non-limiting example, it has become increasingly difficult to demonstrate and test products and create consistency across sales, internal and external training, publications, and research and development.
In order to support the sales process of a large-scale software product, many software companies have hundreds of people in almost all divisions around the entire world all doing the same thing—installing, configuring, and in some cases debugging the software for their niche with a customer. As products have increased their breadth and depth, product installation and configuration have required a substantial amount of time being taken away from staff core competency in order to address these issues.
One approach to address this issue could be to use a virtualization technology, such as VMware from VMware, Inc. with a location in Palo Alto, Calif. or Virtual PC from Microsoft Corp. with a location in Redmond, Wash. FIG. 1 depicts at 20 a possible configuration that includes a virtualization layer 22 provided by such systems. In the configuration 20 shown in FIG. 1, VMware could be placed on several physical hosts 24 using ISCSI or FCAL SAN which industry standard technology is available from many companies, such as Network Appliance, Inc. located in Sunnyvale, Calif. A salesperson/user in the field could wish to run one of the images 26. To do this, a user can request an environment and select an image to run. A software application can locate where the image is on a NetAPP storage unit 28 (which is available from Network Appliance, Inc. The software application finds an appropriate physical machine (i.e., host) that is available. The image is assigned to a physical machine and loaded. For example, image1 and image2 can be assigned to physical host3; image3 and image4 can be assigned to physical host1; image5 and image6 can be assigned to physical host2; and image7 and image8 can be assigned to physical host1. Note that an image that is loaded on a physical host includes a virtualization layer 22, such as a VMware software application. Although the virtualization layer 22 provides an insulated environment for an image to operate within a potentially heterogeneous environment (e.g., on top of a different operating system), this benefit is not without significant costs in overhead performance, additional monetary cost (e.g., for procuring the VMware software) and complexity (e.g., additional support from a software company's Information Services department).